package com.heroh.codegenerator;

import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.TemplateConfig;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import com.heroh.codegenerator.vo.ConfigConst;

public class CodeGenerator {

    public static void exec(ConfigConst config) {
        // 代码生成器
        AutoGenerator mpg = new AutoGenerator();

        // 全局配置
        mpg.setGlobalConfig(config.getGlobal())
                // 包配置
                .setPackageInfo(config.getPackage())
                // 数据源配置
                .setDataSource(config.getDB())
                // 自定义配置
                .setCfg(config.getInject())
                // 模板
                .setTemplate(new TemplateConfig())
                // 策略配置
                .setStrategy(config.getStrategy(config.getTables()))
                // 选择 freemarker 引擎需要指定如下加, 注意 pom 依赖必须有！
                .setTemplateEngine(new FreemarkerTemplateEngine());

        // 执行
        mpg.execute();
    }

}
